package com.sunwayworld.basemodule.business.prefolder.service;

import com.sunwayworld.basemodule.business.prefolder.bean.LimsPreFolderBean;
import com.sunwayworld.basemodule.samplemanage.sample.bean.LimsSampleBean;
import com.sunwayworld.framework.data.page.Page;
import com.sunwayworld.framework.restful.data.RestJsonWrapperBean;
import com.sunwayworld.framework.support.base.service.GenericService;
import com.sunwayworld.framework.support.choosable.service.GenericChoosableService;

import java.util.List;

public interface LimsPreFolderService extends GenericService<LimsPreFolderBean, Long>, GenericChoosableService<LimsPreFolderBean, Long> {

    void insertPreFolders(List<LimsSampleBean> sampleBeans);

    void submit(RestJsonWrapperBean wrapperBean);

    void issueOfHistoricalTasks(RestJsonWrapperBean wrapperBean);

    void issueOfMixTask(RestJsonWrapperBean wrapperBean);

    Page<LimsPreFolderBean> selectIssueSamplePagination(RestJsonWrapperBean wrapper);

    void addOperationBatchTasks(RestJsonWrapperBean wrapper);

    void removeOperationBatchTasks(RestJsonWrapperBean wrapper);

    void submitOperationBatch(RestJsonWrapperBean wrapper);

    void separateSample(RestJsonWrapperBean wrapper);

    void splitSample(RestJsonWrapperBean wrapper);

    void stop(RestJsonWrapperBean wrapperBean);

    Page<LimsPreFolderBean> selectForHistory(RestJsonWrapperBean wrapper);

    void remove(RestJsonWrapperBean wrapperBean);
}
